#linkid rt_vec_new
fn vec_new(int hash, int element_hash, int len, anyptr value_ref):anyptr!

#linkid rt_vec_cap
fn vec_cap(int hash, int element_hash, int cap):anyptr!

#linkid rt_vec_push
fn vec_push(anyptr list, int element_hash, anyptr val)

#linkid rt_vec_grow
fn vec_grow(anyptr list, int element_hash, int custom_capacity)

#linkid rt_vec_slice
fn vec_slice(anyptr list, int start, int end):anyptr!

#linkid rt_vec_append
fn vec_append(anyptr list1, anyptr list2, int element_hash)

#linkid rt_vec_concat
fn vec_concat(anyptr list1, anyptr list2, int element_hash):anyptr

#linkid rt_set_new
fn set_new(int hash, int key_hash):anyptr

#linkid rt_set_add
fn set_add(anyptr s, anyptr key):bool

#linkid rt_set_contains
fn set_contains(anyptr s, anyptr key):bool

#linkid rt_set_delete
fn set_delete(anyptr s, anyptr key)

#linkid rt_map_new
fn map_new(int hash, int key_hash, int value_hash):anyptr

#linkid rt_map_delete
fn map_delete(anyptr m, anyptr key)

#linkid rt_map_contains
fn map_contains(anyptr m, anyptr key):bool

#linkid rt_map_assign
fn map_assign(anyptr m, anyptr key_ref):anyptr

#linkid rt_string_ref
fn string_ref(anyptr s):anyptr

#linkid rt_processor_index
fn processor_index():int

#linkid runtime_force_gc
fn gc()

#linkid runtime_malloc_bytes
fn malloc_bytes():i64

#linkid gc_malloc
fn gc_malloc(int hash):anyptr

#linkid gc_malloc_size
fn gc_malloc_size(int size):anyptr

#linkid rt_string_new
fn string_new(anyptr s):string

#linkid rt_string_ref_new
fn string_ref_new(anyptr s, int len):string

#linkid rt_in_heap
fn in_heap(anyptr addr):bool